﻿/*===================================================
* CLR版本  : 4.0.30319.42000 
* 类名称   : Component
* 文 件 名 : Component 
* 类描述   :
* 创建人   : oream
* 创建时间 : 2018/3/7 21:49:43
* 修改人   : 
* 修改时间 :
* 版本： @version 1.0
=====================================================*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;

namespace Hotfix
{
  public class Component : Disposer
  {
    public Entity Parent { get; set; }
    public T GetParent<T>() where T : Entity
    {
      T t = (T)Parent;
      if (t != null)
      {
        Debug.LogError($" 返回父物体错误 ! {Parent.GetType().Name} 无法转换至 {typeof(T).Name} , 请检查返回的类型是否正确!");
      }
      return t;
    }

    public override void Dispose()
    {
      if (this.Id == 0)
      {
        return;
      }
      this.Parent = null;
      base.Dispose();
    }
  }
}
